﻿using KayakMes.Common.Result;
using KayakMes.RBAC.Application.Input;
using KayakMes.RBAC.Application.OUT;
using KayakMes.RBAC.Doamin;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using KayakMes.Common;

namespace KayakMes.RBAC.Application.Login
{
    public interface IUserService
    {
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ApiResult<UserModel> Login(LoginInput input);
        /// <summary>
        /// /添加用户
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ApiResult<int> AddUser(AddUserInput input);
        /// <summary>
        /// 获取所有用户
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ApiPaging<UserDTO> GetUserAll(GetUserInput input);
        /// <summary>
        /// 获取用户详情
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        ApiResult<UserModel> GetUserModel(long Id);
        /// <summary>
        /// 导出用户列表
        /// </summary>
        /// <returns>返回Excel文件字节数组</returns>
        Task<ApiResult<byte[]>> Userexport();
        
        
    }
}
